Field of the Invention
The invention relates in general to video processing, and in particular, to a motion estimation method and an integrated circuit capable of video processing.
Description of the Related Art
Block-based video coding standards such as MPEG 1/2/4 and H.26x achieve data compression by reducing temporal redundancies between video frames and spatial redundancies within a video frame. The video processing includes all processes using motion information and image information, such as video coding and frame rate conversion.
Each video frame comprises an array of pixels. A macroblock (MB) is typically composed of 16×16 pixels, and a coding unit can be a complete MB or sub-partitioned blocks such as 16×8, 8×16, 8×8, 8×4, 4×8, or 4×4. It is common to estimate movement of an image between frames on a block basis, referred to as motion estimation. Motion estimation typically comprises comparing a macroblock in the current frame to a number of macroblocks from reference frames for similarity. The spatial displacement between the macroblock in the current video frame and the most similar macroblock in the reference frames is represented by a motion vector (MV). Motion vectors may be estimated to within a fraction of a pixel, by interpolating pixels from the reference frames.
FIG. 1 depicts the process of motion estimation, where 1a is a current video frame and 1b is a previous (reference) video frame. Motion estimation involves searching object 10a of a current video frame 1a in a search window SW of a previous video frame 1b to find an object 10b being a best matched object. The spatial displacement from a collocated position of object 10a to 10b is the motion vector.
Motion estimation is aimed to search for a block in a predetermined search range with the lowest estimation error, and obtain a motion vector. Existing methods include full search which computes all possible motion vector candidates in the search range, 3D recursive search which uses a random factor to update motion vectors, and some fixed scenario search methods. These motion estimation methods are either having a slow convergence rate for the motion vector estimation, uncontrollable motion estimation due to the random factor, or not suitable for true motion estimation.